{% extends "homepage.html" %}

{% block content %}

    {#
    <h1> {{ KNOWL('artin.dimension', title='Dimension') }} </h1>
    <p> ${{ object.dimension() }}$ </p>
    #}

    {#
    <h1> {{ KNOWL('artin.conductor', title='Artin conductor') }} </h1>
    <p> ${{ object.conductor() }} $</p>
    #}
    
    <h1> {{ KNOWL('artin.number_field', title='Artin number field') }} </h1>
    <p> $\mathbb{Q}[x]/({{ object.number_field_galois_group().polynomial().latex()}})$ </p>
    
    <h1> Associated group action </h1>
    <h3> Abstract isomorphism type</h3>
    <p> {{ object.number_field_galois_group().G_name() }}, of size  ${{ object.number_field_galois_group().size() }}$.</p>
    
    <h3> Generators of the action on the roots $r_1 \cdots r_{{object.number_field_galois_group().degree()}}$ of $f ={{object.number_field_galois_group().polynomial().latex()}} $</h3>
    <center>
    <table class="ntdata">
        <thead>
          <tr><td>Cycle notation</td>
          </tr>
        </thead>
      <tbody>
        {% for gen in object.number_field_galois_group().G_gens()%}
        <tr> <td><center>${{gen.cycle_string()}}$</center></td></tr>
        {% endfor %}
      </tbody>
      </table>
    </center>
    </p>
    
    <h3> Conjugacy classes and associated representation</h3>
    <p> <center><table class="ntdata">
      <thead><tr><td></td><td></td><td></td><td>Size</td><td>Order</td><td>Action on
      $r_1 \cdots r_{ {{object.number_field_galois_group().degree()}} }$</td><td>Character value</td></tr></thead>

      <tbody>
        {% for gen in object.number_field_galois_group().conjugacy_classes()%}
            <tr {% if loop.index == object.number_field_galois_group().index_complex_conjugation()%}class="redhighlight"{%endif%}> <td>${{loop.index}}$</td><td></td><td></td><td>${{gen.size()}}$</td><td>${{gen.order()}}$</td><td><center>${{gen.representative().cycle_string()}}$</center></td><td><center>${{ object.character()[loop.index - 1] }}$</center> </td></tr>
        {% endfor %}
      </tbody>
      </table>
      </center>
       The red line marks the conjugacy class containing complex conjugation.
    </p>
    
     
    <h1> Roots of defining polynomial</h1>
    <p>
    The roots of $f$ are computed over $\mathbb{Q}_{ {{object.number_field_galois_group().residue_characteristic()}} }$ to precision {{object.number_field_galois_group().computation_precision()}}.
    </p>
    <p>
    Minimal polynomial of a generator $a$ of $K$ over $\mathbb{Q}_{ {{object.number_field_galois_group().residue_characteristic()}} }$: ${{object.number_field_galois_group().computation_minimal_polynomial().latex()}}$
    </p>
    <p>
    Roots:
    <center>
      <table class="ntdata">
      <tbody>
        {% for root in object.number_field_galois_group().computation_roots()%}
          <tr> <td>$r_{{loop.index}}$</td><td>${{root.latex(letter="a")}} +O\left({{object.number_field_galois_group().residue_characteristic()}}^{ {{object.number_field_galois_group().computation_precision()}} }\right)$</td></tr>
        {% endfor %}
        
      </tbody>
      </table>
      </center>
       
    </p>
    </p>
    
{% endblock %}


